#include"processBar.h"


 //方式三
typedef void (*callback_t)(int); //callback_t是函数指针的重命名
    
 //模拟一种安装或则下载
void downLoad(callback_t cb)
{
    
     int total=1000;
    int cur=0;
    while(cur<=total)
    {
        //进行某种下载任务
        usleep(50000);//模拟下载花费时间
        int rate=cur*100/total;//更新进度

        cb(rate);//通过回调展示进堆


        cur+=10;        //循环下载了一部分
    }
    printf("\n");
}


int main()
{
    printf("downLoad 1:\n");
    downLoad(processbar);
    printf("downLoad 2:\n");
    downLoad(processbar);
    printf("downLoad 3:\n");
    downLoad(processbar);
    printf("downLoad 4:\n");
    downLoad(processbar);

//
//    //方式二
//    //假设下1000MB,cur=100MB
//    int total=1000;
//    int cur=0;
//    while(cur<=total)
//    {
//        processbar(cur*100/total);
//        //进行某种下载任务
//        cur+=10;        //循环下载了一部分
//        usleep(50000);//模拟下载花费时间
//    }
//    printf("\n");
//

    //方式一
   // processbar(50000);
   

   // //倒计时
   // int cnt=10;
   // while(cnt>=0)
   // {
   //     printf("%-2d\r",cnt);//\r光标移到行首
   //     fflush(stdout);
   //     cnt--;
   //     sleep(1);
   // }
   // printf("\n");
    return 0;
}
